As the sheer number of computer systems and computer system applications continues to increase, there is also an increasing need for improved and more efficient data management and data processing techniques. Increased processing speeds and bandwidth capabilities within computer systems require enhanced control techniques in order to minimize traffic congestion and optimize data flow efficiency.
Generally, elements in the path of data flow from an I/O (input/output) system to system memory can neither re-order write operations nor re-order read operations with respect to write operations. When data is sent or transferred from one device to another in a computer system, the data packages are sequenced in the order sent. This ordering process, which is enforced and required for example, by system bus architectures, (such as the PCI Local Bus Specification, Rev. 2.1, Jun. 1, 1995, which is included herein by reference), may cause performance limitations in the system.
In the past, architectures have not made it possible for I/O devices to inform the system which operations need to be ordered and which ones do not. So, for example, operations, where programs are being paged out from system memory to a DASD (direct access storage device), frequently at multiple pages at a time, do not need to have each data block that is read from system memory to be ordered with respect to write operations to system memory. The operations are independent due to the fact that the page is not being modified at the same time it is being paged out. In general, data being read by an I/O device will not be changing. One place where this might not be true is in read operations with I/O control block areas where there is the likelihood that read operations may need to be kept in order with write operations to that same area, otherwise improper operations may result. Further, where programs are being brought into system memory from a DASD, each separate data block write operation from the DASD does not need to be ordered with respect to one another so long as all of the transfers complete before the I/O operation is complete. On the other hand, write operations with I/O control block areas will most likely need to be kept in order with one another in order to avoid any improper operations which might result.
Thus, there is a need for an improved information processing methodology and system in which information is more efficiently transferred between system devices during information processing transactions.